/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.torresquintero.oncologos.medico.vista;

import com.torresquintero.oncologos.common.vista.OncologosTableModel;
import com.torresquintero.oncologos.entidades.EPS;
import com.torresquintero.oncologos.entidades.Paciente;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
//import javax.tools.;

/**
 *
 * @author Camilo Andres
 */
public class Test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            /* try {
                 String parametro = "hola";
                 String par = parametro.substring(0, 1).toUpperCase() + parametro.substring(1);
                 
                 System.out.println(par);

                 Consulta f = new Consulta();
                 Medico medico=new Medico("dasd", "camilo", par, parametro);
                 medico.setIps(new IPS("1234", Long.MIN_VALUE, par));
                 f.setMedico(medico);

                 String atributo = "medico.ips.codigo";
                 String attrs[] = atributo.split("\\.");
                 Object objeto = f;

                  Object res=null ;
                 for (String att : attrs) {

                      res = obtenerAtributo(att, objeto);
                     if (res == null) {
                         break;
                     }else{
                         objeto=res;
                     }

                 }
                 System.out.println(res);

                


             } catch (Exception ex) {
                 Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
             }

         }

         public static Object obtenerAtributo(String parametro, Object objeto) throws Exception {

             String par = parametro.substring(0, 1).toUpperCase() + parametro.substring(1);
             String metodo = "get" + par;
             Method m = null;
             Class clase = objeto.getClass();
             boolean encontrado = false;
             while (encontrado == false) {

                 if (clase == null) {
                     return null;
                 }

                 try {
                     m = clase.getDeclaredMethod(metodo, null);
                     encontrado = true;
                 } catch (Exception exc) {

                     clase = clase.getSuperclass();
                     encontrado = false;


                 }

             }
             Object o = m.invoke(objeto, null);
             return o;
         }
             * 
             */
             
           
            List<Paciente> pacientes=new ArrayList<Paciente>();
            Paciente pac=new Paciente();
            pac.setEmail("caferrer");
            pac.setEps(new EPS(0, "1234", "CafeSalud"));
            pac.setDocumento("23423");
            pac.setPrimerNombre("Camilo");
            pacientes.add(pac);
            pacientes.add(pac);
            pacientes.add(pac);
            pacientes.add(pac);
            String atributos="email,eps.Nombre,documento,primerNombre";
            String columnas="Email,EPS,Documento,Nombre";
            
            OncologosTableModel tableModel=new OncologosTableModel(pacientes, atributos, columnas);
            JTable tabla=new JTable(tableModel);
            JScrollPane panel=new JScrollPane(tabla);
            JOptionPane.showMessageDialog(null, panel);
            
             
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    
}
